const express = require('express')
const router = express.Router()

// 挂载路由

// 导入路由处理函数模块
const userinfo_handler = require('../router_handler/userinfo')


// 导入验证数据的中间件
const expressJoi = require('@escook/express-joi')
// 导入需要的验证规则对象
const {update_userinfo_schema, update_password_schema, update_avatar_schema} = require('../schema/user')

// 处理图片文件中间件
const multer = require('multer')
const path = require('path')

// 创建 multer 的实例对象
const storage = multer.diskStorage({
    destination: (req , file , cb )=>{
        cb(null , path.join(__dirname , '../uploads/avatar'));
    },
    filename: function (req, file, cb) {
        cb(null, Date.now() + '-' + file.originalname)
    }
})

const upload = multer({storage: storage})

// 获取-用户基本信息的路由
router.get('/userinfo', userinfo_handler.getUserInfo)

// 获取-指定用户用户基本信息的路由
router.post('/personInfo', userinfo_handler.postUserInfo)

// 更新-用户信息的路由
router.post('/userinfo', expressJoi(update_userinfo_schema), userinfo_handler.updateUserInfo)

// 更新-密码的路由
router.post('/updatepwd', expressJoi(update_password_schema), userinfo_handler.updatePassword)

// 更换-头像的路由
router.post('/update/avatar', upload.single('user_pic'), userinfo_handler.updateAvatar)

// 更新-昵称、性别、生日、所在地、恋爱宣言的路由
router.patch('/update/profile', userinfo_handler.updateUserInfoPatch)

// 获取-用户全部频道列表
router.get('/channels',userinfo_handler.getUserChannels)

// 更新-用户lover
router.post('/loverId',userinfo_handler.postUserLoverId)

module.exports = router
